package com.example.kotlindemo.basic

// Kotlin 的类默认是 final 的，必须加 open 才能被继承。
// var 可以被外部读写  val 不能被修改
open class Person(
    val name: String,
    var age: Int,
    private val userId: Int
) {
    var displayName:String = ""

    // 次构造函数，提供默认值
    constructor() : this("Unknown", 0, 0)

    // 主构造函数的初始化块
    init {
        println("Person created: name=$name, age=$age, userId=$userId")
        displayName = name
    }

    // 可被重写的 say 方法
    open fun say(): String {
        return "Hello, my name is $name, age is $age, userId is $userId"
    }
}


